#pragma once

enum {CAMERA_LOAD_ORTH, CAMERA_LOAD_FRUSTUM, CAMERA_LOAD_PERSPECTIVE};

enum { CFG_ROT_STEP, CFG_TRANS_STEP, CFG_SCALE_STEP, CFG_PLANE_STEP, CFG_ACTIVE_PEN,
		CFG_PASSIVE_PEN, CFG_ZOOM_STEP, CFG_CENTRALIZE, CFG_SHRINK, CFG_SET_MP, CFG_RESET_MP};

enum {	NONE,
		X_AXIS_TRANS, Y_AXIS_TRANS, Z_AXIS_TRANS, 
		X_AXIS_ROT, Y_AXIS_ROT, Z_AXIS_ROT,
		X_AXIS_SPIN, Y_AXIS_SPIN, Z_AXIS_SPIN,
		X_AXIS_SCALE, Y_AXIS_SCALE, Z_AXIS_SCALE, SYM_SCALE,
		X_CAM_MOVE, Y_CAM_MOVE, Z_CAM_MOVE,
		X_CAM_SPIN, Y_CAM_SPIN, Z_CAM_SPIN,
		Z_NEAR_MOVE, Z_FAR_MOVE, CAM_ZOOM
};

void display( void );
void reshape( int width, int height );
void keyboard( unsigned char key, int x, int y );
void mouse(int button, int state, int x, int y);
void fileMenu(int id);
void mainMenu(int id);
void initMenu();